package com.googlecode.smartbinding.framework.validator;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


/**
 * Databinding validator.
 *
 * @author Iulian Dumitru
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Validator {

    /**
     * Validator called after get.
     *
     * @return
     */
    Class<? extends IValidator> afterGet();

    /**
     * Validator called before set.
     *
     * @return
     */
    Class<? extends IValidator> beforeSet();

    /**
     * Validator called after convert.
     *
     * @return
     */
    Class<? extends IValidator> afterConvert();

}
